﻿// MySQLConnection1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

#include<mysql.h>
#include<stdio.h>//mysql 文件
int main()
{
    MYSQL mysql;//数据库句柄
    MYSQL_RES* res;//查询结果集
    MYSQL_ROW row;//记录结构体

    //初始化数据库
    mysql_init(&mysql);

    //设置字符编码
    mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8mb4");

    //连接数据库
//这里需要输入自己的本机名和密码，若全为默认，只需更改*处为自己的密码以及”xsgl“处改成自己创建的数据库即可
    if (mysql_real_connect(&mysql, "127.0.0.1", "root",
        "0119", "cand", 3306, NULL, 0) == NULL) {
        printf("错误原因: %s\n", mysql_error(&mysql));
        printf("连接失败！\n");
        exit(-1);
    }

    //查询数据
    //student为xsgl数据库中存在的表
    int ret = mysql_query(&mysql, "select * from cand_user_role;");
    printf("ret: %d\n", ret);

    //获取结果集
    res = mysql_store_result(&mysql);

    //给ROW赋值,判断ROW是否为空，不为空就打印数据。
    while (row = mysql_fetch_row(res))
    {
        printf("%s ", row[0]);//id
        printf("%s ", row[1]);//role_id
        printf("%s ", row[2]);//user_id
        printf("%s ", row[3]);//created_at
        printf("%s ", row[4]);//updated_at
        printf("%s \n", row[5]);//status
    }
    //释放结果集
    mysql_free_result(res);

    //关闭数据库
    mysql_close(&mysql);

    system("pause");
    return 0;
}

// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门使用技巧: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件，或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来，若要再次打开此项目，请转到“文件”>“打开”>“项目”并选择 .sln 文件
